System and Method for Monitoring Network Connection Quality by Executing Computer-Executable Instructions Stored On a Non-Transitory Computer-Readable Medium

ABSTRACT

A system and method for monitoring network connection quality utilizes software installed on a user computer to monitor a first network connection to a target server used for a desired activity and a second network connection to a benchmark server. Various network quality metrics are recorded and compared for each of the connections and displayed on a visual display so that the user may easily and accurately judge the health of the connection to the target server.

The current application claims a priority to the U.S. Provisional Patentapplication Ser. No. 61/719,602 filed on Oct. 29, 2012, and to the U.S.Provisional Patent application Ser. No. 61/720,232 filed on Oct. 30,2012.

FIELD OF THE INVENTION

The present invention relates generally to network connections. Morespecifically, the present invention is a system and method to displaythe quality of a network connection which evaluates and displays severalcriteria that influence the quality of a network connection.

BACKGROUND OF THE INVENTION

The quality of a network connection can drastically affect the qualityof the activities that are carried out over that network connection.Activities that are especially sensitive to connection quality includegaming and voice communication over IP, or VoIP for short. Online gamingis an extremely common form of recreation in the modern world and canoften be very competitive. Competitive gaming is even performed in aprofessional setting where players vie for position and monetary prizes.In all forms of online gaming, be it recreational or competitive, a goodnetwork connection is crucial to the performance of the players. Poornetwork connection quality can result in performance problems known aslag and rubber banding. In lag, the actions taken by the player are notprocessed for a noticeable time delay, hence the term lag. Lag is mostoften caused by high latency between the player's machine and the gameserver. In rubber banding, the actions that are perceived as takingplace by the user do not actually register with the game sever. This canresult in the player ending up in a position in the game world they werein several moments ago and had since progressed. This effect can beperceived by players as what appears to be teleportation from point topoint as if the player is being pulled around by a rubber band, hencethe terminology used to describe this effect. As expected, issues suchas lag and rubber banding can have a drastic impact on playerperformance which can ultimately result in losing the game and much lessenjoyment gained from playing the game. VoIP is another activityoccurring over network connections that can be greatly affected by apoor network connection. VoIP is a form of communication which allowsfor communication by voice over the internet. When using VoIP, latencyissues can make it difficult for participants in a conversation tocommunicate effectively, causing unnecessary delays that can result inparticipants unintentionally talking over each other. Additionally,packet loss can result in poor communication quality which can make itdifficult for participants to understand each other. These issues canmake it very difficult to communicate using VoIP.

It comes as no surprise that many gamers playing online games also useVoIP to communicate with other players to form and carry out complexstrategies and plans. When a poor network connection is being used, boththe actions of the gamer in the game and the communication with otherplayers can be completely scrambled. When this happens, the gamingexperience suffers and the game becomes barely worth playing as littleenjoyment is gained. There are ways to fix and or bypass poor networkconnections to ensure that the connection problems as described earlierare not suffered by the gamer, however common knowledge dictates thisfact; if the problem cannot be identified, then it cannot be solved.

Many games and VoIP programs incorporate a built in latency or pingmeters that displays the latency value of the network connection to theuser. These ping meters can assist a user in determining when a problemis being caused by the network connection. Unfortunately, as effectiveas such meters are at displaying latency, they suffer from several majorflaws. the first and foremost of those flaws is the fact that almost allping meters incorporated into games and other applications only displaythe instantaneous value for the latency of the connection. What thismeans is that, at any given moment, the latency displayed by the pingmeter is the latency experienced by the last packet of data sent by thegame to the game server. Because of this, the latency as displayed bythe ping meter fluctuates over time, and so the reading on the pingmeter at any given time is not an accurate representation of the qualityof the network connection being used for that activity. The secondproblem of such ping meters is the simple fact that they only keep trackof one particular metric; latency. Unfortunately, the quality of thenetwork connection can be influenced by metrics other than aninstantaneous latency score such as the latency deviation, the number ofhops between sender and destination, and packet loss experience. Suchmetrics can be very telling about the overall quality of a networkconnection and they are not displayed by ping meters.

It is an object of the present invention to create a network connectionquality meter that solves the issues discussed above. The presentinvention solves the issues discussed above by tracking latency of anetwork connection over time as well as other performance metrics suchas number of hops and packet loss. Additionally, it is an object of thepresent invention to use a system that enables comparison between thenetwork connection currently being utilized and a benchmark connection.Through this set up, a user is able to see how poor their networkconnection is when compared to a benchmark connection. Implementing thepresent invention may help a user identify network connection problemsand determine how to correct or bypass those problems, ultimatelyimproving the experience of performing online activities such as gamingand VoIP over network connections.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart describing the main steps of the method of thepresent invention.

FIG. 2 is a flowchart describing additional steps in the method of thepresent invention for comparing a network connection to a benchmarkconnection.

FIG. 3 is a flowchart describing an additional embodiment where multiplenetwork connections are monitored.

FIG. 4 is a flowchart describing steps for customizing the visualdisplay.

FIG. 5 is a flowchart describing the basic steps followed by the methodof the present invention.

FIG. 6 is a visual flowchart depicting how the benchmark server may beset up.

FIG. 7 is a visual flowchart depicting how a round trip may be used todetermine the latency difference between the game server and thebenchmark server.

FIG. 8 is a visual flowchart depicting how a chained server connectionor global private network can be used to compare values of the fiveelements to help determine the quality of the network connections.

FIG. 9 is a mock up of how the visual display of the present inventionmay look.

FIG. 10 is a mock up of how one of the five elements may be graphicallydisplayed.

FIG. 11 is a mock up of how another one of the five elements may begraphically displayed.

DETAIL DESCRIPTIONS OF THE INVENTION

All illustrations of the drawings are for the purpose of describingselected versions of the present invention and are not intended to limitthe scope of the present invention.

The present invention is a system and method for monitoring the qualityof an internet network connection. This helps a user or an internetservice provider (ISP) to diagnose and fix problems with an internetconnection that result in bad performance of the connection.

As illustrated in FIG. 6, in the preferred embodiment of the presentinvention, the system comprises a local area network 1, a visual display2, a target server 3, a benchmark server 4, monitoring software 5, and auser application 6. The user application 6 is a game, VoIP application,or another application which depends on a network connection to a remoteserver. The local area network 1 is electronically connected to thetarget server 3 and to the benchmark server 4. The local area network 1comprises a user computer 11 and a router 12, which are electronicallyconnected to each other. The monitoring software 5 and the userapplication 6 are installed on the user computer 11. The router 12, andthereby the user computer 11, is electronically connected to the targetserver 3 by a first network connection 7, and is electronicallyconnected to the benchmark server 4 by a second network connection 8.

The benchmark server 4 should be physically positioned such that thebenchmark server 4 is near the target server 3 of internet data sent andreceived by the user application 6. This enables a comparison test to bemade from the user's computer as a network connection is simultaneouslymade to both the target server 3 and the benchmark server 4. It isimportant that the benchmark server 4 be located in the same city as thetarget server 3 but that the benchmark server 4 is in a different datacenter. If the benchmark and the target server 3 are in the same datacenter, then almost no difference would be present between recordedvalues of network connection quality for network connections to eachserver. Additionally, the fact that the benchmark sever and the targetserver 3 are close together but still potentially several millisecondsapart enables another ping to be made between the benchmark server 4 andthe target server 3. Granted that the benchmark sever is either a proxyor a virtual private network, an accurate calculation of a roundtriptaken by data may be determined; the roundtrip being data sent from theuser, to the proxy server, and then to the target server 3. It isimportant to note that this comparison system could also be implementedwith a private server system that is comprised of a plurality of serversacross the globe, as illustrated in FIGS. 7 and 8. In this fashion,comparison may be made between round trip values of network connectionquality for data sent through the private server system and data that issent normally through regular network connections. In this way,comparisons may be made that show the impact on quality that isexperienced when the private server system is used as opposed toallowing the internet data to be sent regularly through internetrouters.

The monitoring software 5 is the central component of the presentinvention, and continually monitors and records a first plurality ofnetwork quality metrics for the first network connection 7 and a secondplurality of network quality metrics for the second network connection8. Network quality metrics are various elements relevant to measuringthe quality of a network connection.

In the preferred embodiment of the present invention, the networkquality metrics include, but are not limited to, current ping, averageping, ping deviation, number of hops, number of bad hops, and flux. Theping deviation and average ping elements are based upon historical datarecorded by the monitoring software 5 over the course of the onlineactivity. The average ping element is based upon recorded values of thecurrent ping. Ping deviation is based upon maximum and minimum values ofthe current ping as recorded by the monitoring software 5. Number ofhops is defined as the number of routers internet data must travelthrough before reaching the destination server. A higher number of hopscan mean higher latency and higher chances of experiencing packet lossthat can result from bad hops. The number of bad hops is defined as thenumber of hops that take place which cause internet data to experiencepacket loss or high latency deviation. Bad hops can be the primary causeof high latency deviation and rubber banding, both of which are highlydetrimental to online gaming. Flux is defined in regards to the presentinvention as the number of average ping spikes, or lag, minus theaverage latency.

The monitoring software 5 continually compares the first plurality ofnetwork quality metrics and the second plurality of network qualitymetrics. This data provides the user with a great deal of information onthe overall quality of the network connection they are using to performtheir online activities, and is saved such that it can be viewed laterby the user, or alternatively may be reported to a central databaseserver for analysis by an administrator. Although the values of thenetwork quality metrics are telling about the quality of the networkconnection, it is much more meaningful to have control or benchmarkvalues to which comparisons may be made. For this purpose, themonitoring software 5 also monitors and records network quality metricsfor the second network connection 8 to the benchmark server 4. Thisallows for comparison between the network quality metrics of the firstnetwork connection 7 being used by the online activity and the secondnetwork connection 8 to the benchmark server 4.

Comparison between the two sets of values is facilitated by the visualdisplay 2. The visual display 2 can show the first plurality of networkquality metrics and the second plurality of network quality metrics sideby side or in any other configuration that is conducive to comparisonbetween them. The monitoring software 5 displays at least one of thefirst plurality of network quality metrics on the visual display 2, andpreferably displays at least one of the second plurality of networkquality metrics, wherein each of the at least one first plurality ofnetwork quality metrics corresponds to one of the at least one secondplurality of network quality metrics. Thus, the quality of the firstnetwork connection 7 may easily be visually compared to the quality ofthe second network connection 8. Various embodiments of the visualdisplay can be seen in FIGS. 9-11.

In the preferred embodiment of the present invention, the visual display2 of the monitoring software 5 can be accessed by the user at any timeand allows the user to view current values of network quality metrics asrecorded and calculated by the monitoring software 5. It should be notedthat the monitoring software 5 may be its own standalone applicationthat is installed onto the user computer 11 and configured to monitorvarious network connections used by specific applications such as gamesand VoIP programs. Alternatively, the monitoring software 5 may beincorporated into pre existing applications, like games and VoIPprograms, as a system that can be quickly and easily accessed by theuser without having to minimize the user application 6 while performingthe online activity.

The visual display 2 may additionally incorporate features for advanceddata viewing and benchmark comparison, such as, but not limited to, agraphical display of one or more of the network quality metrics over thetime during which the online activity is being carried out.

Referring to FIGS. 1-4, the method of the present invention is asfollows. In the preferred embodiment of the present invention, a targetserver 3 and a benchmark sever are provided, as well as a database and avisual display 2. A first network connection 7 is established to thetarget server 3, and a second network connection 8 is established to thebenchmark server 4. A first plurality of network quality metrics aremonitored by the monitoring software 5 for the first network connection7, and a second plurality of network quality metrics are monitored bythe monitoring software 5 for the second network connection 8. Each ofthe second plurality of network quality metrics corresponds to one ofthe first plurality of network quality metrics; that is, each of thefirst plurality of network quality metrics is the same as one of thesecond plurality of network quality metrics, but measured for adifferent network connection.

The first plurality of network quality metrics and the second pluralityof network quality metrics are stored within the database. Then, atleast one of the first plurality of network quality metrics and at leastone of the second plurality of network quality metrics are retrievedfrom the database and displayed on the visual display 2. The user maycustomize which of the network quality metrics are displayed on thevisual display 2. To this end, at least one metric selection is receivedfrom the user through the monitoring software 5, wherein each of the atleast one metric selection corresponds to one of the first plurality ofnetwork quality metrics and to one of the second network qualitymetrics, wherein the one of the first plurality of network qualitymetrics corresponds to the one of the second plurality of networkquality metrics. Each of the at least one metric selection is displayedon the visual display 2.

The monitoring software 5 compares the first plurality of networkquality metrics to the second plurality of network quality metrics. Thatis, the first network connection 7 to the target server 3 is continuallycompared to the second network connection 8 to the benchmark server 4.To facilitate diagnosing bad connections, the monitoring software 5 iscapable of being configured to trigger an alert if at least one of thefirst plurality of network quality metrics crosses an acceptablethreshold. The alert may be an audio or visual alert on the usercomputer 11, or the alert may be embodied in the form of an electronicmessage that is sent to an ISP, network administrator or anotherrelevant entity.

Alternatively or additionally, a network quality report may be generatedusing the first plurality of network quality metrics and the secondplurality of network quality metrics, and the network quality report isthen sent to an ISP, system administrator or another relevant entity.The network quality report is preferably formatted such that the networkquality report may be conveniently sent to a local internet serviceprovider. The network quality report can be especially helpful inidentifying problem routers that are affecting a wide range of outgoinginternet traffic due to close proximity to the origin of the traffic.Using this, problems only solvable by the internet service provider canbe identified and brought to their attention such that action can betaken to correct said problems.

The present invention may be utilized with multiple services orapplications on the user computer 11. To this end, additional networkconnections to additional target server 3 s may be monitored andcompared to the second network connection 8 to the benchmark server 4,or to additional benchmark server 4 s as needed if differentapplications connect to target server 3 s in significantly distinctlocations.

As illustrated in FIG. 5, another perspective of the process of usingthe present invention is as follows.

Step one; the user installs the monitoring software 5 onto the usercomputer 11 on which the user intends to perform online activities suchas gaming and VoIP communication.

Step two; the user runs the monitoring software 5 and chooses whatprograms on the user computer 11 for which the user wants the monitoringsoftware 5 to track network connections. Alternatively, the monitoringsoftware 5 may be pre configured to track network connections forspecific programs, or the monitoring software 5 may be pre configured tointegrate with certain programs that are already present on thecomputer.

Step three; the user performs internet activity with one of the programsthat is set to be tracked by the monitoring software 5. The internetactivity is performed over the first network connection 7 to the targetserver 3.

Step four; the internet activity is monitored and recorded by themonitoring software 5. The network quality metrics described above arekey values that are monitored and recorded by the monitoring software 5.

Step five; the monitoring software 5 analyzes values collected for thefirst plurality of network quality metrics and generates whatever valuesthat are based on historical information such as average ping and pingdeviation.

Step six; the monitoring software 5 collects and generates values forthe second plurality of network quality metrics through the secondnetwork connection 8 to the benchmark server 4. The second plurality ofnetwork quality metrics is used for comparison to the first plurality ofnetwork quality metrics.

Step seven; all or some of the information collected and generated bythe monitoring software 5 is displayed to the user through the visualdisplay 2, which organizes the information into a format that is conciseand easy for even a non technical user to understand. The visual display2 may be either a separate application from the program performing theinternet activity, or it may be brought into the program as an overlay.Using the information provided in the visual display 2, the user can actaccordingly in response to the level of quality the first networkconnection 7 is providing.

Step eight; information collected and generated by the monitoringsoftware 5 may be reported to an online database for centralizedcollection and review for many users and analysis of network results byregion or Internet/backbone provider. The information may alternativelybe reported to another appropriate entity such as a system or networkadministrator.

Although the invention has been explained in relation to its preferredembodiment, it is to be understood that many other possiblemodifications and variations can be made without departing from thespirit and scope of the invention as hereinafter claimed.

What is claimed is:
 1. A method for monitoring network connectionquality by executing computer-executable instructions stored on anon-transitory computer-readable medium comprises the steps of:providing a target server; providing a database; providing a visualdisplay; establishing a first network connection to the target server;continually monitoring a first plurality of network quality metrics forthe first network connection; continually storing the first plurality ofnetwork quality metrics within the database; and displaying at least oneof the first plurality of network quality metrics on the visual display,wherein the at least one of the second plurality of network qualitymetrics is retrieved from the database.
 2. The method for monitoringnetwork connection quality by executing computer-executable instructionsstored on a non-transitory computer-readable medium as claimed in claim1 comprises the steps of: providing a benchmark server; establishing asecond network connection to the benchmark server; continuallymonitoring a second plurality of network quality metrics for the secondnetwork connection, wherein each of the second plurality of networkquality metrics corresponds to one of the first plurality of networkquality metrics; continually storing the second plurality of networkquality metrics within the database; and displaying at least one of thesecond plurality of network quality metrics on the visual display,wherein the at least one of the second plurality of network qualitymetrics is retrieved from the database.
 3. The method for monitoringnetwork connection quality by executing computer-executable instructionsstored on a non-transitory computer-readable medium as claimed in claim1 comprises the steps of: providing a second plurality of networkquality metrics; and comparing the first plurality of network qualitymetrics to the second plurality of network quality metrics.
 4. Themethod for monitoring network connection quality by executingcomputer-executable instructions stored on a non-transitorycomputer-readable medium as claimed in claim 3 comprises the step oftriggering an alert, if at least one of the first plurality of networkquality metrics crosses an acceptable threshold;
 5. The method formonitoring network connection quality by executing computer-executableinstructions stored on a non-transitory computer-readable medium asclaimed in claim 3 comprises the steps of: generating a network qualityreport using the first plurality of network quality metrics and thesecond plurality of network quality metrics; and sending the networkquality report to a system administrator.
 6. The method for monitoringnetwork connection quality by executing computer-executable instructionsstored on a non-transitory computer-readable medium as claimed in claim1 comprises the steps of: receiving at least one metric selection,wherein each of the at least one metric selection corresponds to one ofthe first plurality of network quality metrics; and displaying each ofthe at least one metric selection on the visual display.
 7. The methodfor monitoring network connection quality by executingcomputer-executable instructions stored on a non-transitorycomputer-readable medium as claimed in claim 6, wherein each of the atleast one metric selection additionally corresponds to one of a secondplurality of network quality metrics.
 8. The method for monitoringnetwork connection quality by executing computer-executable instructionsstored on a non-transitory computer-readable medium as claimed in claim1, wherein additional network connections to additional target serversare monitored and compared to a second network connection to a benchmarkserver.
 9. A system for monitoring network connection quality comprises:a local area network comprising a user computer and a router; a visualdisplay; a target server; a benchmark server; monitoring software; auser application; the monitoring software and the user application beinginstalled on the user computer; and the local area network beingelectronically connected to the target server and the benchmark server.10. The system for monitoring network connection quality as claimed inclaim 9 comprises: the user computer being electronically connected tothe router; the router being electronically connected to the targetserver by a first network connection; and the router beingelectronically connected to the benchmark server by a second networkconnection.
 11. The system for monitoring network connection quality asclaimed in claim 10, wherein the software continually monitors andrecords a first plurality of network quality metrics for the firstnetwork connection and a second plurality of network quality metrics forthe second network connection.
 12. The system for monitoring networkconnection quality as claimed in claim 10, wherein the software displaysat least one of the first plurality of network quality metrics on thevisual display.
 13. The system for monitoring network connection qualityas claimed in claim 10, wherein the software continually compares thefirst plurality of network quality metrics and the second plurality ofnetwork quality metrics.
 14. The system for monitoring networkconnection quality as claimed in claim 13, wherein the software triggersan alert if at least one of the first plurality of network qualitymetrics crosses an acceptable threshold.